package ioandnio;

import org.junit.Test;

import javax.swing.plaf.PanelUI;
import java.io.File;
import java.security.SecureRandom;
import java.util.Random;
import java.util.regex.Matcher;

/**
 * @Auther ljn
 * @Date 2020/3/3
 */
public class TestFile {

    /*
      File.separator:在 UNIX 系统上，此字段的值为 '/'；在 Microsoft Windows 系统上，它为 '\'。
      因为替换时使用了正则表达式，而'\'是正则中的关键字，替换会造成混淆。
      解决办法：使用Matcher.quoteReplacement(sep)转义。
     */
    @Test
    public void test01(){
        System.out.println(File.separator);// ->"\";
        String packageName = "com.xxx.model";
        String path = packageName.replaceAll("\\.",File.separator);
       // String path = packageName.replaceAll("\\.",Matcher.quoteReplacement(File.separator));
        System.out.println(path);
    }

    @Test
    public void test02(){
        File file = new File("f:/a/b/");//这是一个目录的地址
        if(!file.exists()){
            file.mkdirs();//创建多级目录
        }
    }

    @Test
    public void test03(){
       String content = "a\nb\nccc";
       System.out.println(content.replaceAll("\n","<br>"));
    }

    @Test
    public void test04(){
        String content = "{field} is invalid";
        System.out.println(content.replaceAll("\\{field\\}","age"));
    }

    @Test
    public void test05() throws Exception{
       boolean result = "Hawke's Bay".matches("^(?=.*[0-9]?)(?=.*[A-Za-z\\u00C0-\\u00FF])^[\\x00-\\xff]{0,40}$");
        System.out.println(result);
    }




}
